import openai

# 设置你的OpenAI API密钥
openai.api_key = "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"


# 读取txt文件的内容
def read_txt_file(file_path):
    with open(file_path, 'r', encoding='utf-8') as file:
        return file.read()


# 将文件内容与GPT交互
def interact_with_gpt(file_content, user_input):
    # 将文件内容作为上下文传给模型
    messages = [{"role": "system", "content": "你是一位非常聪明的博客助手，我会提前给你一些词语，然后我会给你输入一个原始的句子，尽可能的用到这些词，在不改变原本大意的前提下，尽可能用到我给你的词语，不用完全用完，但是要贴切的用，然后再输出给我改进后的句子。"},
                {"role": "user", "content": f"请参考以下词语，并根据这些内容回答：\n{file_content}"}]

    # 继续用户的输入
    messages.append({"role": "user", "content": user_input})

    # 创建聊天完成请求
    try:
        response = openai.ChatCompletion.create(
            model="gpt-4",  # 或者是你使用的其他模型
            messages=messages
        )

        # 输出助手的回答
        assistant_response = response['choices'][0]['message']['content']
        print("Assistant:", assistant_response)

    except Exception as e:
        print(f"Error generating chat response: {e}")


# 主程序
if __name__ == "__main__":
    file_path = "prompts.txt"
    file_content = read_txt_file(file_path)

    print("文件内容已读取，请输入你的问题：")

    while True:
        user_input = input("You: ")

        if user_input.lower() == 'exit':
            print("Exiting the chat.")
            break

        # 让GPT参考文件内容并进行回答
        interact_with_gpt(file_content, user_input)
